home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Shareware / IDimager Personal 4.2.0.3 / setup_IDimager_Personal_V4.exe / {app} / web / modules / resulttable.inc < prev    next >
Text File  |  2008-06-21  |  9KB  |  210 lines

  1. %include publicfunctions.inc %/include
  2.  
  3.   function AddPageNumber (APage, i: Integer; ADataSetID: String; AItems: TCatalogItems): WideString;
  4.   begin
  5.     result := toWideString('');
  6.  
  7.         result := result + '<div id="pageNo">';
  8.  
  9.         if i = APage then
  10.           result := result + '<span class="activepage"> '
  11.         else
  12.           result := result + ' <a href="javascript:getHTML(''%var:PageOffset/./modules/resulttable.psc'', ''' + AjaxContainer + ''', ''ds=' + ADataSetID + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(i) + ''')">';
  13.  
  14.         result := result + IntToStr(i);
  15.  
  16.         if i = APage then
  17.           result := result + ' </span>'
  18.         else
  19.           result := result + '</a> ';
  20.  
  21.         result := result + '</div>';
  22.  
  23.   end;
  24.  
  25.   function IncludeResultTable (AItems: TCatalogItems; ADataSetID: String; APage: Integer; ACount: Integer; AThumbSize: Integer): WideString;
  26.   const
  27.     cSquare     = 1;      // set to 0 or 1 (= false or true); default = 0
  28.     cQuality    = 1;      // set to 0 or 1 (= false or true); default = 0
  29.     cThumbSize  = 160;      // set to a positive value to get a predefined size; default = 0
  30.  
  31.   var
  32.     i: Integer;
  33.     AItem: TCatalogItem;
  34.     ALink: String;
  35.     AStartIndex: Integer;
  36.     APages: Integer;
  37.   begin
  38.     result := toWideString('');
  39.  
  40.     if ACount <= 0 then
  41.       ACount := ThumbCount;
  42.     if AThumbSize <= 0 then
  43.       AThumbSize := cThumbSize;
  44.  
  45.     APages := (AItems.Count div ACount) + 1;
  46.     if AItems.Count mod ACount = 0 then
  47.       Dec (APages);
  48.  
  49.     AStartIndex := (APage - 1) * ACount;
  50.  
  51.     result := result + '<table class="thumbsTable" cellspacing="0" cellpadding="0">';
  52.  
  53.     if (AItems.Name <> '') or ((AItems.Name ='') and (APages > 1)) then
  54.     begin
  55.       result := result + '  <tr>';
  56.       result := result + '    <td height="30" valign="center">';
  57.  
  58.       result := result + '<table class="thumbsTableHeader" width="100%" height="100%" cellspacing="0" cellpadding="0">';
  59.  
  60.       result := result + '  <tr>';
  61.       result := result + '    <td>';
  62.  
  63.       result := result + '<div id="headerLeft">' + AItems.Name + '</div>';
  64.     
  65.       result := result + '<div id="headerNav" class="navimage">';
  66.       if APage < APages then
  67.       begin
  68.         ALink := 'javascript:getHTML(''%var:PageOffset/./modules/resulttable.psc'', ''' + AjaxContainer + ''', ''ds=' + ADataSetID + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(APage + 1) + ''')';
  69.         result := result + '<a href="' + ALink + '">' + 
  70.                        '<img src="%var:PageOffset/images/trans-next.png" alt="next page..." title="next page...">' +
  71.                        '</a>';
  72.       end
  73.       else
  74.         result := result + '<img src="%var:PageOffset/images/trans-blank.png">';
  75.       result := result + '</div>';
  76.  
  77.       ALink := IntToStr(APage);
  78.       result := result + '<div id="pageNr">';
  79.       if APages > 1 then
  80.       begin
  81.         for i := 1 to Length(ALink) do
  82.          result := result + '<img src="%var:PageOffset/images/num' + MidStr(ALink, i, 1) + '.png">';
  83.       end;
  84.       result := result + '</div>';
  85.  
  86.       result := result + '<div id="headerNav" class="navimage">';
  87.       if APage > 1 then
  88.       begin
  89.         ALink := 'javascript:getHTML(''%var:PageOffset/./modules/resulttable.psc'', ''' + AjaxContainer + ''', ''ds=' + ADataSetID + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(APage - 1) + ''')';
  90.         result := result + '<a href="' + ALink + '">' + 
  91.                        '<img src="%var:PageOffset/images/trans-prev.png" alt="previous page..." title="previous page...">' +
  92.                        '</a>';
  93.       end
  94.       else
  95.         result := result + '<img src="%var:PageOffset/images/trans-blank.png">';
  96.       result := result + '</div>';
  97.  
  98.       result := result + '    </td>';
  99.  
  100.       result := result + '  </tr>';
  101.       result := result + '</table>';
  102.  
  103.       result := result + '    </td>';
  104.       result := result + '  </tr>';
  105.     end;
  106.  
  107.     result := result + '  <tr>';
  108.     result := result + '    <td>';
  109.  
  110.     result := result + '<div id="fullImage">';
  111.  
  112.     i := AStartIndex;
  113.     while i <= AItems.Count - 1 do
  114.     begin
  115.       AItem := AItems.Items[i];
  116.  
  117.       ALink := 'javascript:getHTMLChain(' + 
  118.                              '[' + 
  119.                              '  [''%var:PageOffset/./modules/showimage.psc'', ''fullImage'', ''ds=' + ADataSetID + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(i + 1) + '&count=' + IntToStr(ACount) + '&thumbsize=' + IntToStr(AThumbSize) + '''], ' +
  120.                              '  [''%var:PageOffset/./modules/showimagedetails.psc'', ''editDetails'', ''ds=' + ADataSetID + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(i + 1) + '&count=' + IntToStr(ACount) + '&thumbsize=' + IntToStr(AThumbSize) + '''], ' +
  121.                              '  [''%var:PageOffset/./modules/imagecomments.psc'', ''comments'', ''ds=' + ADataSetID + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(i + 1) + '''] ' +
  122.                              ']' + 
  123.                ')';
  124.  
  125. {
  126.       ALink := 'javascript:getHTMLWithSuccess(' + 
  127.                              '''%var:PageOffset/./modules/showimage.psc'', ' + 
  128.                              '''%var:PageOffset/./modules/showimagedetails.psc'', ' + 
  129.                              '''fullImage'', ' +
  130.                              '''editDetails'', ' + 
  131.                              '''ds=' + ADataSetID + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(i + 1) + '&count=' + IntToStr(ACount) + '&thumbsize=' + IntToStr(AThumbSize) + ''' ' + 
  132.                ')';
  133.  
  134. }
  135.       //result := result + '<div class="thumbnail" id="' + AItem.GUID + '" style="width: ' + IntToStr(iif(AThumbSize = 0, Options.Thumbsize, AThumbSize)) + 'px; height: ' + IntToStr(iif(AThumbSize = 0, Options.Thumbsize, AThumbSize)) + 'px;">';
  136.       result := result + '<div class="thumbnail" id="' + AItem.GUID + '">';
  137.       result := result + {IntToStr(i + 1) + '<br/>' +}
  138.                          '<center><a href="' + ALink + '">' + 
  139.                          '<img class="thumbnailimage" src="%var:PageOffset/loadimage.psc?image=' + 
  140.                                    AItem.GUID + 
  141.                                    '&thumb=1' + 
  142.                                    iif(AThumbSize > 0, '&size=' + IntToStr(AThumbSize), '') + 
  143.                                    iif(cSquare = 1, '&square=1', '') + 
  144.                                    iif(cQuality = 1, '&quality=1', '') + 
  145.                                    '" ' +
  146.                                    'alt="' + FormatForHTMLEditing(AItem.ImageName) + '" ' + 
  147.                                    'title="' + FormatForHTMLEditing(AItem.ImageName) + '" ' +
  148.                                    iif((AThumbSize > 0) and (cSquare = 1), 'width="' + IntToStr(AThumbSize) + '" ', '') +
  149.                                    iif((AThumbSize > 0) and (cSquare = 1), 'height="' + IntToStr(AThumbSize) + '" ', '') +
  150.                          '>' + 
  151.                          '</a></center>' +
  152.                           '';
  153.  
  154.       result := result + '</div>';
  155.  
  156.       Inc(i);
  157.  
  158.       if i >= AStartIndex + ACount then
  159.         break;
  160.     end;
  161.  
  162.     result := result + '</div>';
  163.  
  164.     result := result + '    </td>';
  165.     result := result + '  </tr>';
  166.     result := result + '  <tr>';
  167.     result := result + '    <td height="20" valign="center">';
  168.  
  169.     if APages > 1 then
  170.     begin
  171.       result := result + '<div id="pageNo">' + IntToStr(AItems.Count) + ' images</div>';
  172.  
  173.       result := result + ' ';
  174.  
  175.       for i := 1 to 3 do
  176.       begin
  177.         if (i < 1) or (i > APages) then
  178.           Continue;
  179.  
  180.         result := result + AddPageNumber (APage, i, ADataSetID, AItems);
  181.       end;
  182.  
  183.       if APage > 7 then
  184.         result := result + '<div id="pageNo">...</div>';
  185.  
  186.       for i := APage - 3 to APage + 3 do
  187.       begin
  188.         if (i < 4) or (i > APages) then
  189.           Continue;
  190.  
  191.         result := result + AddPageNumber (APage, i, ADataSetID, AItems);
  192.       end;
  193.  
  194.       if APage + 3 < APages - 3 then
  195.         result := result + '<div id="pageNo">...</div>';
  196.  
  197.       for i := APages - 2 to APages do
  198.       begin
  199.         if (i <= APage + 3) then
  200.           Continue;
  201.  
  202.         result := result + AddPageNumber (APage, i, ADataSetID, AItems);
  203.       end;
  204.  
  205.     end;
  206.  
  207.     result := result + '    </td>';
  208.     result := result + '  </tr>';
  209.     result := result + '</table>';
  210.   end;